package com.uade.empresasdistribuidas;

import java.sql.Date;

import org.hibernate.Session;
import org.hibernate.SessionFactory;

import com.uade.empresasdistribuidas.dao.DireccionDAO;
import com.uade.empresasdistribuidas.dao.DireccionDAOImpl;
import com.uade.empresasdistribuidas.dao.EmpleadoDAO;
import com.uade.empresasdistribuidas.dao.EmpleadoDAOImpl;
import com.uade.empresasdistribuidas.dao.SucursalDAO;
import com.uade.empresasdistribuidas.dao.SucursalDAOImpl;
import com.uade.empresasdistribuidas.entities.DireccionDTO;
import com.uade.empresasdistribuidas.entities.EmpleadoDTO;
import com.uade.empresasdistribuidas.entities.SucursalDTO;

/**
 * Hello world!
 *
 */
public class App 
{
	private static SessionFactory factory;
    public static void main( String[] args )
    {
   
    }
    

    
    private static void insertDireccion(){
    	DireccionDAO direccionDAO= new DireccionDAOImpl();
    	direccionDAO.setSession(factory.openSession());
    	DireccionDTO direccion=direccionDAO.findById(12);
    	
    	direccion= new DireccionDTO();
    	direccion.setCalle("WEWQsda");
    	direccion.setCodigoPostal("215");
    	direccion.setPais("Argentina");
    	direccion.setNumero(145);
    	direccion.setLocalidad("La Plata");
    	direccion.setProvincia("La Plata");
    	direccionDAO.makePersistent(direccion);
        System.out.println( direccion.getCalle() );
    }
    
    private static void insertEmpleados(){
    	EmpleadoDAO empleadoDAO= new EmpleadoDAOImpl();
    	empleadoDAO.setSession(factory.openSession());
    	EmpleadoDTO empleado=empleadoDAO.findById(12);
    	
    	empleado= new EmpleadoDTO();
    	empleado.setApellido("Romano");
    	empleado.setCargo("Encargado");
    	empleado.setDni(20100312);
    	empleado.setFechaDeNacimiento(new Date(1980,10,5));
    	empleado.setNacionalidad("argentina");
    	empleado.setNombre("Mariano");
    	empleadoDAO.makePersistent(empleado);
        System.out.println( empleado.getNombre() );
        
        empleado= new EmpleadoDTO();
    	empleado.setApellido("Gonzalez");
    	empleado.setCargo("Encargado");
    	empleado.setDni(28137372);
    	empleado.setFechaDeNacimiento(new Date(1978,12,1));
    	empleado.setNacionalidad("argentina");
    	empleado.setNombre("Gonzalo");
    	empleadoDAO.makePersistent(empleado);
        System.out.println( empleado.getNombre() );
    }
    
    private static void insertSucursal(){
    	Session session =factory.openSession();
    	DireccionDAO direccionDAO= new DireccionDAOImpl();
    	direccionDAO.setSession(session);
    	DireccionDTO direccion=direccionDAO.findById(3);
    	
    	EmpleadoDAO empleadoDAO= new EmpleadoDAOImpl();
    	empleadoDAO.setSession(session);
    	EmpleadoDTO empleado1 =empleadoDAO.findById(1);
    	EmpleadoDTO empleado2 =empleadoDAO.findById(2);
    	EmpleadoDTO empleado3 =empleadoDAO.findById(3);
    	
    	SucursalDAO sucursalDAO = new SucursalDAOImpl();
    	sucursalDAO.setSession(session);
    	
    	SucursalDTO sucursal= new SucursalDTO();
    	sucursal.setNombre("Sucursal Buenos Aires 1");
    	sucursal.setEncargadoDespacho(empleado2);
    	sucursal.setGerente(empleado1);
    	sucursal.setEncargadoRecepPedido(empleado3);
    	sucursal.setDireccion(direccion);
    	
    	sucursalDAO.makePersistent(sucursal);
    	System.out.println( sucursal.getNombre() );

    }
    
    
    private static void updateSucursal(){
    	Session session =factory.openSession();
    	EmpleadoDAO empleadoDAO= new EmpleadoDAOImpl();
    	empleadoDAO.setSession(session);
    	EmpleadoDTO empleado1 =empleadoDAO.findById(1);
    	EmpleadoDTO empleado2 =empleadoDAO.findById(2);
    	EmpleadoDTO empleado3 =empleadoDAO.findById(3);
    	
    	SucursalDAO sucursalDAO = new SucursalDAOImpl();
    	sucursalDAO.setSession(session);
    	
    	SucursalDTO sucursal= sucursalDAO.findById(1l);
    	empleado1.setSucursal(sucursal);
    	empleadoDAO.makePersistent(empleado1);
    	empleado2.setSucursal(sucursal);
    	empleadoDAO.makePersistent(empleado2);
    	empleado3.setSucursal(sucursal);
    	empleadoDAO.makePersistent(empleado3);

    	System.out.println( sucursal.getNombre() );

    }
    
 
    
}
